package com.cskaoyan.order.service;


import com.cskaoyan.order.dto.OrderDetailResponse;
import com.cskaoyan.order.dto.OrderListResponse;
import com.cskaoyan.order.form.CreateOrderRequest;
import com.cskaoyan.order.form.OrderListRequest;

/**
 * 订单相关业务
 */
public interface OrderCoreService {

    /**
     * 创建订单
     *
     * @param request
     * @return
     */
    String createOrder(CreateOrderRequest request);

    /**
     * 取消订单
     *
     * @return
     */
    void cancelOrder(String orderId);


    /**
     * 删除订单
     *
     * @return
     */
    void deleteOrder(String orderId);

    /**
     * 修改订单状态
     *
     * @param status
     * @param orderId
     */
    void updateOrder(Integer status, String orderId);

    /**
     * @param
     * @return com.cskaoyan.order.dto.OrderDetailInfo
     * @description 获取所有订单
     * @author silic xia
     * @since 2022/12/04 19:23
     */
    OrderListResponse getOrder(OrderListRequest orderListRequest);

    /**
     * @param orderId
     * @return ResponseData
     * @description 查询订单详情
     * URI shopping/order/{id} 占位符
     * Method get
     * @author silic xia
     * @since 2022/12/04 22:54
     */
    OrderDetailResponse getOrderDetails(String orderId,Long userId);
}
